]> permondes.de Git - Analog_Engine.git/blobdiff - scripts/TP1 08.22 Hollow Cylinder.AESL
a rope slides frictionlessly down the edge of a table
[Analog_Engine.git] / scripts / TP1 08.22 Hollow Cylinder.AESL
diff --git a/scripts/TP1 08.22 Hollow Cylinder.AESL b/scripts/TP1 08.22 Hollow Cylinder.AESL
new file mode 100644 (file)
index 0000000..2b14afc
--- /dev/null
@@ -0,0 +1,33 @@
+IDENTIFICATION DIVISION
+PROGRAM-ID HollowCylinder
+VERSION 20240312
+COMMENT A homogeneous hollow cylinder (mass m, ration inner to outer radius epsilon) is connected to a massless spring (constant lambda). 
+COMMENT The system is deflected from its rest position by the distance a. 
+COMMENT The cylinder rolls without sliding. 
+COMMENT x'' = - 2*lambda * 1/m * 1/(3+epsilon²) * x
+
+ENVIRONMENT DIVISION
+ENGINE Anabrid-THAT
+TIMEBASE 1ms
+REQUIRES COEFFICIENT 4, INTEGRATOR 2, INVERTER 1
+
+DATA DIVISION
+OUTPUT OUTPUT.X x
+COEFFICIENT.1 2*lambda
+COEFFICIENT.2 1/m
+COEFFICIENT.3 1/(3+epsilon²) # = 1/3 (0,333) for epsilon=0 and 1/4 (0,25) for epsiolon=1 or anything in between
+COEFFICIENT.4 a 
+
+PROGRAM DIVISION
++1 -> COEFFICIENT.A -> a
+
+x'' -> INTEGRATOR -> -x'
+-x', IC:a -> INTEGRATOR -> x
+x -> COEFFICIENT.2*lambda -> 2*lambda*x
+2*lambda*x -> COEFFICIENT.1/m -> 2*lambda*1/m*x
+2*lambda*1/m*x -> COEFFICIENT.1/(3+epsilon²) -> 2*lambda*1/m*1/(3+epsilon²)*x
+2*lambda*1/m*1/(3+epsilon²)*x -> INVERTER -> -2*lambda*1/m*1/(3+epsilon²)*x = x''
+
+OPERATION DIVISION
+MODE REPEAT
+OP-TIME 52ms